<?php
	/*
		Данный файл пытается найти конфигурационный файл основной CMS и подключить его к системе MODY.
		Поддерживаются системы: MODX, WordPress
	*/

	$config = array(); // Сюда заполним все найденные данные конфига.

	// Режем путь на части.
	$path_parts = explode('/', preg_replace('/\/+/', '/', str_replace('\\', '/', __FILE__)));
	if (strpos($path_parts[0], ':')) // Путь содержит диск.
	{
		$path = $path_parts[0];
		array_pop($path_parts);
	}
	else
		array_unshift($path_parts, '');
	
	// Бежим по пути от текущего до корня.
	while(sizeof($path_parts) > 0)
	{
		$path = implode('/', $path_parts);
		// --- Поиск конфига MODX.
		// Нужно найти manager/includes/config.inc.php.
		if (@file_exists($path.'/manager/includes/config.inc.php'))
		{
			// Нашли конфиг MODX, подключим и получаем из него данные.
			// Так как конфиг содержит много мусора помимио самого конфига, будем разбирать файл.
			$config['base_system'] = 'modx';
			$config['base_system_path'] = $path.'/';
			
			// Подцепим modx (for tonatos).
			if (!isset($modx))
			{
				define('MODX_API_MODE', true);
				include_once($path.'/index.php');
			}
			
			$file = file($path.'/manager/includes/config.inc.php');
			foreach($file as $line)
			{
				$line = trim($line);
				$value = substr($line, strpos($line, "'") + 1);
				$value = substr($value, 0, strpos($value, "'"));
				
				if (strpos($line, '$database_server') === 0)
					$config['dbhost'] = $value;
					
				if (strpos($line, '$dbase') === 0)
					$config['dbname'] = str_replace('`', '', $value);
					
				if (strpos($line, '$database_user') === 0)
					$config['dbuser'] = $value;
					
				if (strpos($line, '$database_password') === 0)
					$config['dbpass'] = $value;

				if (strpos($line, '$table_prefix') === 0)
					$config['dbpref'] = $value;

				if (strpos($line, '$database_connection_charset') === 0)
					$config['dbcode'] = $value;
			}
			break;
		}
		
		// --- Поиск конфига WordPress.
		// Нужно поискать файл wp-config.php.
		if (@file_exists($path.'/wp-config.php'))
		{
			// Нашли конфиг MODX, подключим и получаем из него данные.
			// Так как конфиг содержит много мусора помимио самого конфига, будем разбирать файл.
			$config['base_system'] = 'wordpress';
			$config['base_system_path'] = $path;

			$file = file($path.'/wp-config.php');
			foreach($file as $line)
			{
				$line = str_replace(array('\'', ';', ' ', '\t', ')'), '', $line);
								
				if (strpos($line, 'define(DB_HOST,') === 0)
					$config['dbhost'] = substr($line, strpos($line, ',') + 1);
					
				if (strpos($line, 'define(DB_NAME,') === 0)
					$config['dbname'] = substr($line, strpos($line, ',') + 1);
					
				if (strpos($line, 'define(DB_USER,') === 0)
					$config['dbuser'] = substr($line, strpos($line, ',') + 1);
					
				if (strpos($line, 'define(DB_PASSWORD,') === 0)
					$config['dbpass'] = substr($line, strpos($line, ',') + 1);

				if (strpos($line, 'table_prefix') == 1)
					$config['dbpref'] = substr($line, strpos($line, '=') + 1);
			}

			break;
		}		
		
		array_pop($path_parts);
	}
	
	// Если вызов был из основной системы, то засунем туда конфиг и удалим мусор.
	if (isset($mvc))
	{
		$mvc->config = array_merge($mvc->config, $config);
		unset($config);
	}
?>